1) Tanımlayıcı İstatistikler

Veri Setinin Tanıtılması

diagnosis=Teşhis(M=Malign(Kötü Huylu),B=Benign(İyi Huylu)))

radius_mean=Yarıçap Ort.

texture_mean=Doku Ort.(gri tonlamalı değerlerin Ort.)

perimeter_mean=çevre Ort.

area_mean=Alan Ort.

smothness_mean=Düzgünlük Ort.(yarıçap uzunluklarında yerel değişiklik)

compectness_mean=Kompaktlık Ort.(çevre^2 / alan - 1.0)

concavity_mean=İçbükeylik Ort.(konturun içbükey kısımlarının şiddeti)

concave_point=içbükey noktaların Ort. (konturun içbükey bölümlerinin sayısı)

symmetry_mean=Simetri Ort.

fractal_dimension_mean=Fraktal Boyut Ort.(“kıyı çizgisi yaklaşımı” )

## # A tibble: 6 x 6
##   diagnosis radius_mean texture_mean perimeter_mean area_mean smoothness_mean
##   <chr>           <dbl>        <dbl>          <dbl>     <dbl>           <dbl>
## 1 M                18.0         10.4          123.      1001           0.118 
## 2 M                20.6         17.8          133.      1326           0.0847
## 3 M                19.7         21.2          130       1203           0.110 
## 4 M                11.4         20.4           77.6      386.          0.142 
## 5 M                20.3         14.3          135.      1297           0.100 
## 6 M                12.4         15.7           82.6      477.          0.128
##   radius_mean      texture_mean   perimeter_mean     area_mean     
##  Min.   : 6.981   Min.   : 9.71   Min.   : 43.79   Min.   : 143.5  
##  1st Qu.:11.707   1st Qu.:16.17   1st Qu.: 75.20   1st Qu.: 420.3  
##  Median :13.375   Median :18.84   Median : 86.29   Median : 551.4  
##  Mean   :14.139   Mean   :19.28   Mean   : 92.05   Mean   : 655.7  
##  3rd Qu.:15.797   3rd Qu.:21.79   3rd Qu.:104.15   3rd Qu.: 784.1  
##  Max.   :28.110   Max.   :39.28   Max.   :188.50   Max.   :2501.0  
##  smoothness_mean   compactness_mean  concavity_mean    concave points_mean
##  Min.   :0.06251   Min.   :0.01938   Min.   :0.00000   Min.   :0.00000    
##  1st Qu.:0.08640   1st Qu.:0.06517   1st Qu.:0.02958   1st Qu.:0.02035    
##  Median :0.09589   Median :0.09312   Median :0.06155   Median :0.03360    
##  Mean   :0.09644   Mean   :0.10445   Mean   :0.08896   Mean   :0.04901    
##  3rd Qu.:0.10533   3rd Qu.:0.13043   3rd Qu.:0.13100   3rd Qu.:0.07401    
##  Max.   :0.16340   Max.   :0.34540   Max.   :0.42680   Max.   :0.20120    
##  symmetry_mean    fractal_dimension_mean
##  Min.   :0.1060   Min.   :0.04996       
##  1st Qu.:0.1620   1st Qu.:0.05770       
##  Median :0.1792   Median :0.06155       
##  Mean   :0.1812   Mean   :0.06280       
##  3rd Qu.:0.1957   3rd Qu.:0.06613       
##  Max.   :0.3040   Max.   :0.09744

Özellikle texture_mean, area_mean gibi birçok değişkende sapan değerler gözlemlenmiştir.

apply(data,2,sd)
##            radius_mean           texture_mean         perimeter_mean 
##           3.516986e+00           4.299166e+00           2.424982e+01 
##              area_mean        smoothness_mean       compactness_mean 
##           3.516606e+02           1.395600e-02           5.279766e-02 
##         concavity_mean    concave points_mean          symmetry_mean 
##           7.970273e-02           3.878258e-02           2.742220e-02 
## fractal_dimension_mean 
##           7.064628e-03
apply(data,2,mean)
##            radius_mean           texture_mean         perimeter_mean 
##            14.13850176            19.28040493            92.04658451 
##              area_mean        smoothness_mean       compactness_mean 
##           655.72341549             0.09643727             0.10444789 
##         concavity_mean    concave points_mean          symmetry_mean 
##             0.08895565             0.04900527             0.18120141 
## fractal_dimension_mean 
##             0.06280458

Değişkenlerin varyansaları ve özellikle ortalamaları birbirinden oldukça farklı olduğu için korelasyon matrisi üzerinden PCA yapılmalıdır.

2) Korelasyon Matrisi

*radius_mean ve perimeter_mean 1

*radius_mean ve area_mean 0.99

*area_mean ve perimeter_mean 0.99

*concavity_mean ve concave_point_mean 0.92

ile pozitif yönde en yüksek ilişkiye sahip değişkenlerdir. Genel olarak değişkenlerin bir çoğu birbirleriyle oldukça ilişkilidir.(pozitif yönde)

3) Kutu Grafikleri (Box-Plot)

Değişkenlerin veri standaştırıldıktan sonraki kutu grafiklerine bakıldığında uç ve aykırı değerlere sahip olduğu görülmektedir.area_mean ve fraction_dimension_mean değişkenleri en çok sapan değere sahip olan değişkenlerdir.

4) PCA

Bileşen Sayısı

Özdeğerler

##                   [,1]      [,2]       [,3]       [,4]       [,5]       [,6]
## eigenvalues  5.4738032 2.5288709 0.87512254 0.49962016 0.37271835 0.12401037
## prop.var     0.5473803 0.2528871 0.08751225 0.04996202 0.03727184 0.01240104
## cum.prop.var 0.5473803 0.8002674 0.88777966 0.93774168 0.97501351 0.98741455
##                     [,7]        [,8]        [,9]        [,10]
## eigenvalues  0.080260537 0.034499247 0.010812414 2.822935e-04
## prop.var     0.008026054 0.003449925 0.001081241 2.822935e-05
## cum.prop.var 0.995440605 0.998890529 0.999971771 1.000000e+00

İlk 2 bileşenin değeri 1’in üstünde ve 3.bileşen değeri 1’e yakın olduğu için şimdilik 3 bileşen veriyi açıklamaya yetiyor.

1.bileşen tek başına verilerin %54’ünü açıklarken ikinci bileşenle birlikte verilerin %80’i açıklanabilirken 3.bileşenle birlikteyse %88’lik bir açıklayıcılağa erişiliyor.

Temel bileşen sayısına karar vermek için bakılan grafikler ve yapılan analizler

## Importance of components:
##                           PC1    PC2     PC3     PC4     PC5    PC6     PC7
## Standard deviation     2.3396 1.5902 0.93548 0.70684 0.61051 0.3522 0.28330
## Proportion of Variance 0.5474 0.2529 0.08751 0.04996 0.03727 0.0124 0.00803
## Cumulative Proportion  0.5474 0.8003 0.88778 0.93774 0.97501 0.9874 0.99544
##                            PC8     PC9    PC10
## Standard deviation     0.18574 0.10398 0.01680
## Proportion of Variance 0.00345 0.00108 0.00003
## Cumulative Proportion  0.99889 0.99997 1.00000

2.bileşenden sonra Önemli bir degişim olmamış.

Özdeğerlerin karekökleri

##  [1] 2.33961603 1.59024241 0.93547985 0.70683814 0.61050663 0.35215106
##  [7] 0.28330291 0.18573973 0.10398276 0.01680159

PC3 bileşininden sonra özdeğerler ve sd değerleri 1’in altına düştüğü, scree plot ve plot grafiklerine bakıldığında (dirsek metodu) 2.bileşenden sonra çok büyük bir değişim olmadığı ve PC2 ile verinin total olarak %80’i açıklanabildiği için burada 2 bileşen seçilmiştir ve analize 2 bileşen üzerinden devam edilmiştir. (Burada 3. bileşende analize dahil edilebilirdi. 3.bileşenin özdeğeri 0.87 idi. (1’den düşük ama 1’e yakın olduğu için belkide tolere edilebilirdi) ve 3. bileşenle birlikte verilerin %88’i açıklanabilmekteydi. Ama benim için %80’lik bir açıklayıcılık yeterli olmuştur. )

##             PC1        PC2
##  [1,] -5.207134 -3.2061213
##  [2,] -1.723105  2.5455224
##  [3,] -3.964616  0.5425875
##  [4,] -3.580639 -6.9135188
##  [5,] -3.143084  1.3571978
##  [6,] -1.368269 -3.3198377
##  [7,] -1.597243  1.4984830
##  [8,] -1.247362 -2.4983251
##  [9,] -2.380628 -3.2838092
## [10,] -2.435421 -3.6320739

Temel Bileşenlerin Yorumlanması

##                                PC1          PC2         PC3         PC4
## radius_mean            -0.36396244  0.313994993 -0.12312595  0.02967207
## texture_mean           -0.15714912  0.145107611  0.95299534  0.01035910
## perimeter_mean         -0.37611869  0.284652517 -0.11313039  0.01354327
## area_mean              -0.36422437  0.304190212 -0.12399187  0.01318263
## smoothness_mean        -0.23085776 -0.404201230 -0.15907816 -0.10805928
## compactness_mean       -0.36427847 -0.266589261  0.05453962 -0.18565020
## concavity_mean         -0.39584887 -0.105089950  0.03690826 -0.16680343
## concave points_mean    -0.41822848 -0.008188541 -0.07193489 -0.07352672
## symmetry_mean          -0.21464987 -0.368093819  0.03331658  0.89326916
## fractal_dimension_mean -0.07092789 -0.570736110  0.11198279 -0.34835742

Özvektör değerlerine göre artık verinin boyut indirgenmiş halinde PC1 bileşeni radius_mean,texture_mean, perimeter_mean , area_mean , compactness_mean,concavity_mean ve concave points_mean değişkenlerini temsil ederken PC2 smoothnes_mean ve symmetry_mean ve fractal_dimension_mean değişkenlerini temsil ediyor. PC1->Cell_Values, PC2->Cell_Shape

Burada aslında PC3 0.95 ile texture ya da PC4 0.89 ile symmetry değişkenini temsil ediyor gibi görünüyor fakat değişkenler arasındaki korelasyon yüksek olduğu için dikkate alınmamaktadır.

data.pca$x [462,1:2]
##       PC1       PC2 
## -8.646587  3.118027
data[462,]
## # A tibble: 1 x 10
##   radius_mean texture_mean perimeter_mean area_mean smoothness_mean
##         <dbl>        <dbl>          <dbl>     <dbl>           <dbl>
## 1        27.4         26.3           187.      2501           0.108
## # ... with 5 more variables: compactness_mean <dbl>, concavity_mean <dbl>,
## #   concave points_mean <dbl>, symmetry_mean <dbl>,
## #   fractal_dimension_mean <dbl>

Yukarıdaki grafikte bileşenler bazında değişkenlerin ve kişilerin (hasta numaraları) konumları gösterilmiştir. 462. gözlem değerinin konumuna bakıldığında PC1 (Cell_Values) açısından negatif PC2 (trade) açısından pozitif konumda yer almaktadır ve en yüksek temsil edilme oranı 1.bileşen ile olmuştur. 462.gözlem değeri tüm değişkenlerle aynı tarafta olduğu için tüm değişkenler açısından yüksek değerler almıştır.(Etiketi M.)

Bazı gözlem değerlerinin incelenmesi

data[308,]
## # A tibble: 1 x 10
##   radius_mean texture_mean perimeter_mean area_mean smoothness_mean
##         <dbl>        <dbl>          <dbl>     <dbl>           <dbl>
## 1           9         14.4           56.4      246.          0.0700
## # ... with 5 more variables: compactness_mean <dbl>, concavity_mean <dbl>,
## #   concave points_mean <dbl>, symmetry_mean <dbl>,
## #   fractal_dimension_mean <dbl>
data.pca$x[308,1:2]
##        PC1        PC2 
##  3.5077367 -0.5543553

308.gözlem değerine bakıldığında ise yine en yüksek 1. bileşen tarafından temsil edilmektedir. Ve tüm değişkenlerle zıt konumda bulunduğu için tüm değişkenler açısından ortalamadan düşük değerler almıştır.(308.gözlem değerinin etiketi B olduğu için değerlerin düşük olması tümörün iyi huylu olduğu anlamına gelir :)

Değişkenlerin Her Bileşene Katkısı

##                             Dim.1        Dim.2      Dim.3       Dim.4
## radius_mean            13.2468660  9.859285569  1.5159999  0.08804320
## texture_mean            2.4695846  2.105621866 90.8200114  0.01073109
## perimeter_mean         14.1465267  8.102705532  1.2798486  0.01834201
## area_mean              13.2659393  9.253168517  1.5373983  0.01737818
## smoothness_mean         5.3295306 16.337863399  2.5305861  1.16768072
## compactness_mean       13.2698802  7.106983422  0.2974570  3.44659961
## concavity_mean         15.6696328  1.104389749  0.1362220  2.78233835
## concave points_mean    17.4915065  0.006705221  0.5174628  0.54061785
## symmetry_mean           4.6074567 13.549305952  0.1109994 79.79298003
## fractal_dimension_mean  0.5030766 32.573970773  1.2540145 12.13528897

Dim1 boyutunda concave points_mean 17.49 ile , Dim2 boyutunda ise fractal_dim_mean 32.57 ile en fazla katkıda bulunan değişkenlerdir.

Değişkenlerin her bir bileşen tarafından açıklanma oranları

##                             Dim.1        Dim.2       Dim.3        Dim.4
## radius_mean            0.72510737 0.2493286065 0.013266857 4.398816e-04
## texture_mean           0.13518020 0.0532484593 0.794786392 5.361468e-05
## perimeter_mean         0.77435302 0.2049069647 0.011200243 9.164038e-05
## area_mean              0.72615140 0.2340006886 0.013454119 8.682489e-05
## smoothness_mean        0.29172801 0.4131634779 0.022145729 5.833968e-03
## compactness_mean       0.72636712 0.1797264377 0.002603114 1.721991e-02
## concavity_mean         0.85772485 0.0279285913 0.001192109 1.390112e-02
## concave points_mean    0.95745064 0.0001695664 0.004528434 2.701036e-03
## symmetry_mean          0.25220311 0.3426444593 0.000971381 3.986618e-01
## fractal_dimension_mean 0.02753742 0.8237536772 0.010974164 6.063035e-02

Yalnızca PC1 ile yarıçap ortalamasının %72’si temsil edilirken 2 bileşenle birlikte %97’si temsil edilmektedir.

Destekleyici Görseller

İki vektörün birbirine yakın olması birbiriyle ilişkili olduğunu göstermektedir.radius,perimeter ve area değişkenleri ile smoothnes ve symmetry değişkenleri birbirlerine oldukça yakın oldukları için aradaki ilişki de kuvvetlidir.

concave_points_mean ve fractal_dimensional_mean değişkenlerinin aralarındakı açı 90 dereceye yakın olduğu için korelasyonlarının düşük olduğu söylenebilir.

PC1-PC2

4) Uzaklık-Benzerlik Matrisleri

Değişkenlerin özet istatistik değerleri ve kutu grafiklerine bakıldığında sapan değerler görülüyor.

dist_eucl=dist(scale_data, method="euclidean")
fviz_dist(dist_eucl)

dist_man=dist(scale_data, method="manhattan") 
fviz_dist(dist_man)

Veriler arasındaki uzaklıkları ölçmek için üç farklı yöntem de denenmiştir.Üç yöntemde birbirine paralel sonuçlar vermiştir. Manhattan uzaklık ölçüsü Öklide göre 3 kat daha vurguludur. Pearson ise bu iki uzaklık ölçüsünden daha farklı bir konumdadır. Değişkenler arasındaki benzerlik bakımından sonuçları gösterir.

##       73    74
## 63  5.38  8.41
## 64 17.92 10.43

64-73->>17.92 birbirine uzak gözlem değerleridir.(Diagnosis 64 =B, 73=M)

63-73->>5.38 birbirine yakın gözlem değerleridir.(Diagnosis=M)

Kümeleme Analizleri

Optimal küme sayısına karar vermek için üç yönteminde sonuçlarına bakılmıştır.Optimal küme sayısı 2 ya da 3 olabilir. kmeans ve kmedoids için scale data üzerinden yapılan analiz sonuçları aşağıdadır. Asıl analize PCA ile boyut küçültülmüş veri üzerinden devam edilmiştir.

Model; Kümelerin sahip olduğu eleman sayıları;

k=2 için %38.8 169, 399

k=3 için %49.9 116, 118, 334

k=4 için %56.3 44, 314, 105, 105

açıklayıcılığa sahiptir.

5) PCA + K Means

Optimal küme sayısına karar vermek için üç metod da denemiştir ve üçü de paralel sonuçlar vermiştir. k=2 optimal küme sayısıdır. Yine de alternatif k değerleri için de analiz yapılmıştır.

PCA + kmeans=2

##   Group.1       PC1         PC2
## 1       1 -3.023889  0.07167644
## 2       2  1.280795 -0.03035919
##   Group.1      PC1      PC2
## 1       1 1.734543 2.047813
## 2       2 1.000429 1.352570

PCA + kmeans=3

##   Group.1       PC1        PC2
## 1       1 -3.355189  1.1327994
## 2       2 -1.036728 -1.8981433
## 3       3  1.538486  0.2680995
##   Group.1      PC1      PC2
## 1       1 1.890823 1.336869
## 2       2 1.378572 1.426649
## 3       3 0.840162 1.088796

PCA + kmeans=4

Model; *********************** Kümelerin sahip olduğu eleman sayıları;

k=2 için %48.5 **************** 169, 399

k=3 için % 62.3 **************** 117, 117, 334

k=4 için %70.1 **************** 315, 104, 44, 105

açıklayıcılığa sahiptir.

Kümelerin açıklıyıcılıklarına ve küme içi değişimlere bakıldığında k=2,3 optimal görünüyor.

6) PCA + kmedoids

Optimal küme sayısına karar vermek için üç metod da denemiştir ve üçü de paralel sonuçlar vermiştir.Yine k=2 optimal küme sayısıdır. Yine de alternatif k değerleri için de analiz yapılmıştır.

PCA + kmedoids=2

aggregate(data_pca, by=list(pam_data_pca2$cluster), mean) 
##   Group.1       PC1         PC2
## 1       1 -2.765870  0.13208667
## 2       2  1.390252 -0.06639277
aggregate(data_pca, by=list(pam_data_pca2$cluster), sd)
##   Group.1       PC1      PC2
## 1       1 1.7929461 1.993517
## 2       2 0.9096758 1.340832

PCA + kmedoids=3

k=4 ve sonraki k değerleri için küme içi çakışmalar fazladır.k=2|3 optimaldir.

7) Aşamalı Kümeleme

ward.D2 bağlantı fonksiyonu ile

Kojenetik Uzaklık ile Orjinal Uzaklık Arasındaki Korelasyon

ward bağlantı fonk. ile:

coph_e <- cophenetic(hc_e_w)
as.matrix(coph_e)[1:6,1:6]
##          1        2         3        4         5        6
## 1  0.00000 27.13883 27.138832 63.37970 27.138832 63.37970
## 2 27.13883  0.00000 10.417587 63.37970 10.417587 63.37970
## 3 27.13883 10.41759  0.000000 63.37970  5.324452 63.37970
## 4 63.37970 63.37970 63.379698  0.00000 63.379698  7.52058
## 5 27.13883 10.41759  5.324452 63.37970  0.000000 63.37970
## 6 63.37970 63.37970 63.379698  7.52058 63.379698  0.00000
as.matrix(dist_euc)[1:6,1:6]
##          1        2        3        4        5        6
## 1 0.000000 6.724572 3.949262 4.048491 5.008411 3.840549
## 2 6.724572 0.000000 3.006014 9.639704 1.851609 5.876084
## 3 3.949262 3.006014 0.000000 7.465987 1.156938 4.653961
## 4 4.048491 9.639704 7.465987 0.000000 8.282283 4.220086
## 5 5.008411 1.851609 1.156938 8.282283 0.000000 5.002462
## 6 3.840549 5.876084 4.653961 4.220086 5.002462 0.000000
cor(dist_euc,coph_e) 
## [1] 0.6184264
cor(dist_man,coph_m) 
## [1] 0.6018452

avarage bağlantı fonksiyonu ile

coph_e_a <- cophenetic(hc_e_a)
as.matrix(coph_e_a)[1:6,1:6]
##          1        2        3        4        5        6
## 1 0.000000 3.770599 3.770599 6.723353 3.770599 3.620892
## 2 3.770599 0.000000 2.505373 6.723353 2.505373 3.770599
## 3 3.770599 2.505373 0.000000 6.723353 1.419922 3.770599
## 4 6.723353 6.723353 6.723353 0.000000 6.723353 6.723353
## 5 3.770599 2.505373 1.419922 6.723353 0.000000 3.770599
## 6 3.620892 3.770599 3.770599 6.723353 3.770599 0.000000
as.matrix(dist_euc)[1:6,1:6]
##          1        2        3        4        5        6
## 1 0.000000 6.724572 3.949262 4.048491 5.008411 3.840549
## 2 6.724572 0.000000 3.006014 9.639704 1.851609 5.876084
## 3 3.949262 3.006014 0.000000 7.465987 1.156938 4.653961
## 4 4.048491 9.639704 7.465987 0.000000 8.282283 4.220086
## 5 5.008411 1.851609 1.156938 8.282283 0.000000 5.002462
## 6 3.840549 5.876084 4.653961 4.220086 5.002462 0.000000
cor(dist_euc,coph_e_a)
## [1] 0.8154837
coph_m_a <- cophenetic(hc_m_a)
as.matrix(coph_m_a)[1:6,1:6]
##          1        2        3        4        5        6
## 1 0.000000 7.176651 7.176651 4.618401 7.176651 3.460471
## 2 7.176651 0.000000 3.045074 7.176651 2.454261 7.176651
## 3 7.176651 3.045074 0.000000 7.176651 3.045074 7.176651
## 4 4.618401 7.176651 7.176651 0.000000 7.176651 4.618401
## 5 7.176651 2.454261 3.045074 7.176651 0.000000 7.176651
## 6 3.460471 7.176651 7.176651 4.618401 7.176651 0.000000
as.matrix(dist_man)[1:6,1:6]
##          1         2        3         4        5        6
## 1 0.000000  9.235673 4.991227  5.333892 6.627369 3.952582
## 2 9.235673  0.000000 4.244446 11.316576 2.608304 6.220196
## 3 4.991227  4.244446 0.000000  7.840083 1.636142 6.458773
## 4 5.333892 11.316576 7.840083  0.000000 8.708272 5.806052
## 5 6.627369  2.608304 1.636142  8.708272 0.000000 6.451851
## 6 3.952582  6.220196 6.458773  5.806052 6.451851 0.000000
## [1] 0.781445

Küme ağacının ne kadar iyi olduğunu anlamak için kojentik uzaklık ile orjinal uzaklık arasındaki korelasyona bakılmıştır ve en yüksek sonuç 0.81 ile euclid metriğiyle average fonk.olmuştur.

cut tree in 2 groups

k=2 için kümeleme yapıldığında çakışmalar görülmüştür.

cut tree in 3 groups

k=3 2 kümeye göre daha iyi görünüyor.

Dendegramları Karşılaştırma

2’li olarak 4 dendogram da karşılaştırılmıştır ve hepsinin entanglement değeri 1’e yakın çıkmıştır.Yani dendagramlar arasındaki uyum azdır. Karışıklık vardır.

set.seed(123)
x <- dendlist(dend1,dend2) %>% untangle(method = "random", R = 10) 
x %>% plot(main = paste("entanglement =", round(entanglement(x), 2))) ## 0.27

Entanglement değeri 0.27’ye düşürülmüştür.Dendegramlar arasındaki uyum artmıştır.

Korelasyon Matrisi

En yüksek centroid ve average 0.96 ward.D2 ve average 0.85. Yani bu dendegramlar birbirlerine yakın sonuçlar vermektedir.

Küme-Ağaç Görselleştirilmesi

8) Model Temelli Kümeleme

## ---------------------------------------------------- 
## Gaussian finite mixture model fitted by EM algorithm 
## ---------------------------------------------------- 
## 
## Mclust VVI (diagonal, varying volume and shape) model with 2 components: 
## 
##  log-likelihood   n df       BIC       ICL
##       -2221.687 568  9 -4500.454 -4632.692
## 
## Clustering table:
##   1   2 
## 240 328

Model Temelli kümeleme algoritmasında oluşturulan 2 kümede 1. kümede 240 gözlem değeri yer alırken 2. kümede 328 gözlem değeri yer almaktadır.

VVI ->Kümelerin hacimleri ve şekilleri farklı, benzer yönelimli

Optimal Küme Sayısı

Optimal küme sayısı 2 olarak gösterilmiştir.

Arada kalan gözlem değerleri

fviz_mclust(mc, "uncertainty", palette = "jco",pos = FALSE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.

G=3

summary(mc_3) #VVV
## ---------------------------------------------------- 
## Gaussian finite mixture model fitted by EM algorithm 
## ---------------------------------------------------- 
## 
## Mclust VVV (ellipsoidal, varying volume, shape, and orientation) model with 3
## components: 
## 
##  log-likelihood   n  df      BIC      ICL
##        4756.374 568 197 8263.351 8232.716
## 
## Clustering table:
##   1   2   3 
##  61 193 314

Küme sayısı 3 için bakıldığında ise model BIC değeri açısından daha iyi sonuç vermiştir.

Kümelerde çakışmalar görülmektedir.

Model Temelli kümeleme için seçilen k=2 seçilebilir.

9) Yoğunluk Temelli Kümeleme

fviz_nbclust(data_pca, kmeans, nstart = 25, iter.max = 200, method = "wss") +
  labs(subtitle = "Elbow method")

Optimal k=3 seçilerek DBSCAN yöntemi için oluşturulan kümeler:

fviz_cluster(km.res, data_pca, geom = "point",
             ellipse= FALSE, show.clust.cent = FALSE,
             palette = "jco", ggtheme = theme_classic())

Küme sayısı k=2 ve k=3 için sonuç aynıdır.

Plot DBSCAN

fviz_cluster(db, data = data_pca, stand = FALSE,
             ellipse = FALSE, show.clust.cent = FALSE,
             geom = "point",palette = "jco", ggtheme = theme_classic())

Gözlem sayısı çok olmadığı için Minpts=3 seçilmiştir. 34 tane aykırı gözlem vardır. 1. kümede 1 tane sınır değeri varken 2.kümede 5 tane sınır değeri vardır.

10) Küme Geçerliliği

Küme Eğiliminin Değerlendirilmesi

verinin kümeleme analizine uygun olup olmadığına bakmak için random data üzerinden karşılaştırma yapılmıştır.

Random data sonuçlarına bakıldığında grafiklerin dağınık olduğu ve kümeleme analizine uygun olmadığı görülüyor.

##   h_data    h_random_data
## H 0.2001517 0.5016584

Hopkins istatistiğine göre random_data 0.50 çıktığı için kümelemeye uygun değilken orjinal veri 0’a daha yakın çıktığı için (0.20) kümelenebilir.

par(mfrow=c(1,2))
fviz_dist(dist(data_pca), show_labels = FALSE )+
  labs(title = "Orjinal Data") #Birbirine yakın olanlar bir arada. Homojen dağılım

fviz_dist(dist(random_data), show_labels = FALSE)+
  labs(title = "Random data") # Kümelemeye uygun değil.

Farklılık matrisine bakıldığında orjinal veri de küme yapısı görülürken random olarak üretilen veri de küme yapısı görülmez.

Optimal Küme Sayısının Belirlenmesi

## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 8 proposed  2 as the best number of clusters
## * 6 proposed  3 as the best number of clusters
## * 1 proposed  4 as the best number of clusters
## * 4 proposed  5 as the best number of clusters
## * 5 proposed  7 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 1 proposed  1 as the best number of clusters
## * 10 proposed  2 as the best number of clusters
## * 2 proposed  3 as the best number of clusters
## * 10 proposed  6 as the best number of clusters
## * 1 proposed  7 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 11 proposed  2 as the best number of clusters
## * 3 proposed  3 as the best number of clusters
## * 1 proposed  4 as the best number of clusters
## * 1 proposed  5 as the best number of clusters
## * 7 proposed  6 as the best number of clusters
## * 1 proposed  7 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 8 proposed  2 as the best number of clusters
## * 3 proposed  3 as the best number of clusters
## * 2 proposed  4 as the best number of clusters
## * 4 proposed  5 as the best number of clusters
## * 1 proposed  6 as the best number of clusters
## * 6 proposed  7 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

Farklı metodlar için en uygun küme sayısını belirlemek için oluşturulan görsellere göre optimal küme sayısı tüm metodlar için k=2 dir.

Küme Geçerliliği İstatistikleri

K-means Kümeleme

km_data <- eclust(data_pca, "kmeans", k = 2, nstart = 25, graph = TRUE)

# Visualize k-means clusters
fviz_cluster(km_data, geom = "point", ellipse.type = "norm",
             palette = "jco", ggtheme = theme_minimal())

K-Medoids

Aşamalı Kümeleme

Dunn İndeksi ve diğer küme geçerliliği istatistikleri

Kmeans

## [1] 0.007354786

Kmedoids

pam_stats<-cluster.stats(dist(data_pca),pam_data$cluster)
pam_stats$dunn #0.013
## [1] 0.01313289

Hiyerarşik

hc_stats<-cluster.stats(dist(data_pca),hc_data$cluster)
hc_stats$dunn# 0.02
## [1] 0.02312344

Dun indeksi en yüksek değeri 0.02 ile Hiyerarşik kümeleme de almıştır.Dunn indeksinin değerinin büyük olması doğru kümeleme yapıldığını gösterdiği için burada en iyi sonucu Hiyerarşik vermiştir. Fakat onun hemen ardından 0.013 Dunn indeksi ile Kmedoids gelmektedir.

Algoritmaların karşılaştırılması

## 
## Clustering Methods:
##  kmeans pam hierarchical 
## 
## Cluster sizes:
##  2 3 4 5 6 
## 
## Validation Measures:
##                                   2        3        4        5        6
##                                                                        
## kmeans       Connectivity   44.1877  60.8627  75.9155  94.1349  88.7440
##              Dunn            0.0074   0.0071   0.0196   0.0137   0.0091
##              Silhouette      0.4939   0.4418   0.4295   0.3639   0.3580
## pam          Connectivity   33.5456  74.4516  96.0698 106.8921 117.4278
##              Dunn            0.0131   0.0050   0.0036   0.0064   0.0114
##              Silhouette      0.4803   0.3628   0.3363   0.3345   0.2993
## hierarchical Connectivity   10.6940  18.4389  19.1845  35.8524  48.0599
##              Dunn            0.0916   0.0689   0.0689   0.0479   0.0524
##              Silhouette      0.5829   0.4653   0.4497   0.4547   0.4400
## 
## Optimal Scores:
## 
##              Score   Method       Clusters
## Connectivity 10.6940 hierarchical 2       
## Dunn          0.0916 hierarchical 2       
## Silhouette    0.5829 hierarchical 2

PCA +kmedoids=2

Aşamalı Kümeleme

Küme geçerliliği istatistiklerine göre en iyi sonuçları veren yöntem hierarcihical olmuştur.

Dunn ve Silhouette değerleri açısından yüksekken Bağlantı değeri düşüktür. Fakat Aşamalı kümeleme yapıldığında kümelerde çakışmalar görülmektedir. Bu anlamda kmedoids kümeleme çakışma açısından daha iyi sonuçlar vermektedir.

DBSCAN algoritması 3 küme önerdiği ve küme içi gözlem sayıları birbirinden çok farklı olduğu için alternatif olarak 2 kümeli Model Temelli Yoğunluk algoritması da düşünülebilir.

Final modeli olarak 2 kümeli Kmedoids algoritması seçilmiştir.

11) Final Modeli

Kümelere Ait Tanımlayıcı İstatistikler

aggregate(data, by=list(pam_data_pca2$cluster), mean) 
##   Group.1 radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## 1       1    17.82573     21.32258      118.08353 1016.8732      0.10443305
## 2       2    12.28513     18.25392       78.95923  474.1931      0.09241823
##   compactness_mean concavity_mean concave points_mean symmetry_mean
## 1       0.15545542     0.17539953          0.09442937     0.1965689
## 2       0.07880918     0.04550503          0.02617305     0.1734770
##   fractal_dimension_mean
## 1             0.06361021
## 2             0.06239963
aggregate(data, by=list(pam_data_pca2$cluster), sd)
##   Group.1 radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## 1       1    3.182382     4.079038       21.46016  368.5889      0.01315581
## 2       2    1.797159     4.037095       11.83844  138.2267      0.01255971
##   compactness_mean concavity_mean concave points_mean symmetry_mean
## 1       0.05102953     0.07196774          0.03066280    0.02769410
## 2       0.03027700     0.03603537          0.01510594    0.02382463
##   fractal_dimension_mean
## 1            0.008372058
## 2            0.006279480
table(pam_data_pca2$cluster)
## 
##   1   2 
## 190 378

Orjinal veri için küme içi değişimlere bakıldığında kümelerin standart sapmaları ortalamaya göre büyük değildir yani küme içi homojenlikten söz edilebilir. İki kümenin ortalamaları ise birbirinden farklıdır. Bu da doğru kümeleme yapıldığı anlamına gelir.

1.kümede 190 gözlem bulunurken 2. kümede 378 adet gözlem değeri vardır. Aşamalı kümelemede ise küme eleman sayıları daha heterojendir. (1->171 2->397)